home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************
-
- NAME fm.h
-
- VERSION 2.00
-
- LAST EDIT Monday 12-Apr-93 11:11:21
- LOCKED BY -
-
- DESCRIPTION Header-File for framemachine.library-Functions
-
- HISTORY Author Date Comment
- ---------------------------------------------------
- ds 07-04-93 first coding
- ds 12-04-93 DisplayInfo
-
- *************************************************************************/
-
- #ifndef __FM_H
- #define __FM_H
-
- /* Flags returned from QueryFlags(): */
- #define FMFLG_DIGI_ON 0x0001 /* 1: Digitzer is active */
- #define FMFLG_FRAME_LOADED 0x0002 /* 1: Frame on Display was loaded */
- #define FMFLG_FRAME_DIGITIZED 0x0004 /* 1: Frame on Display was digitized */
- #define FMFLG_411 0x0008 /* 1: Display is 411 (hires) */
- #define FMFLG_211 0x0010 /* 1: Display is 211 (lores) */
- #define FMFLG_400 0x0020 /* 1: Display is 400 (hires bw) */
- #define FMFLG_200 0x0040 /* 1: Display is 200 (lores bw) */
- #define FMFLG_422 0x0080 /* 1: Display is 422 (hires loaded) */
- #define FMFLG_222 0x0100 /* 1: Display is 222 (lores loaded) */
- #define FMFLG_SNAPSHOT 0x0200 /* 1: Frame was snapshoted */
-
- /* Flags for DisplayMode(): */
- #define PDP_OFF 0
- #define PDP_AMIGA 1
- #define PDP_PRISMA 2
- #define PDP_PRISMA_KEY 3
-
- /* Sizes for DisplaySize(): */
- #define PDP_720 0
- #define PDP_360 1
- #define PDP_240 2
- #define PDP_180 3
- #define PDP_120 4
- #define PDP_90 5
- #define PDP_NUM_SIZE 6 /* # of available Sizes */
-
- /* Sizes for FastPreview() */
- #define MD_QUATER 0
- #define MD_LORES 1
- #define MD_HIRES 2
-
-
- /* Flags for PrepRead(): */
- #define READ_COLOR (1<<0)
- #define READ_BW (1<<1)
- #define READ_FIRST (1<<2)
- #define READ_SECOND (1<<3)
-
- /* Flags for PrepWrite(): */
- #define WRITE_COLOR (1<<0)
- #define WRITE_BW (1<<1)
- #define WRITE_NO_422 (1<<2)
- #define WRITE_FORCE_720 (1<<3)
-
- /* Flags for PrepSaveEDAN(): */
- #define EDAN_BW (1<<0)
- #define EDAN_COLOR (1<<1)
- #define EDAN_LACE (1<<2)
- #define EDAN_RAM_BUFFER (1<<3)
- #define EDAN_NO_SYNC (1<<5)
-
- /* Flags for PrepLoadEDAN(): */
- #define EDAN_ORIGINAL_POS (1<<4)
-
-
-
-
- /* Frame-Machine Preferences: */
- struct FMPref
- {
- ULONG sys_flags; /* See Below */
- UWORD display_size; /* Display-Size */
- UWORD display_mode; /* Display-Mode */
- UWORD key_mode; /* Keymode */
- WORD pos_x[PDP_NUM_SIZE]; /* X-Pos of Display for each Size */
- WORD pos_y[PDP_NUM_SIZE]; /* Y-Pos of Display for each Size */
-
- UBYTE bri;
- UBYTE sat;
- UBYTE con;
- UBYTE red;
- UBYTE grn;
- UBYTE blu;
- };
- #define SYSFLG_VIDEO_NTSC 0x00000001 /* 1: NTSC 0: PAL */
- #define SYSFLG_VIDEO_VCR 0x00000002 /* 1: VCR 0: TV */
- #define SYSFLG_VIDEO_YC 0x00000004 /* 1: YC 0: CVBS */
- #define SYSFLG_DUAL_MONITOR 0x00000008 /* Two Monitors attached */
- #define SYSFLG_GENLOCK 0x00000010 /* Genlock attached */
-
- struct FMDisplayInfo
- {
- UWORD size; /* Display-Size */
- UWORD mode; /* Display-Mode, */
- UWORD keymode; /* Number of KeyMode */
- WORD xpos; /* X-Pos */
- WORD ypos; /* Y-Pos */
- UWORD width; /* Width */
- UWORD height; /* Height */
- };
-
- struct EDANInfo
- {
- ULONG flags; /* Flags */
- UWORD size; /* Size Mode */
- UWORD width; /* Width */
- UWORD height; /* Height */
- WORD xpos,ypos; /* X/Y-Position of Display when recorded */
- WORD frame; /* Current frame */
- WORD nframe; /* Number of frames */
- UWORD frame_id; /* Unique Frame-ID */
- };
-
-
-
- typedef enum
- {
- NO_ERROR,
-
- /* Init-Errors: */
- FMERR_OUT_OF_MEMORY_FATAL,
- FMERR_NO_DOS_LIB,
- FMERR_NO_EXPANSION_LIB,
- FMERR_NO_GFX_LIB,
- FMERR_NO_INTUI_LIB,
- FMERR_NO_IFFPARSE_LIB,
- FMERR_SEMAPHORE_NOT_UNIQUE,
- FMERR_LOCKED,
-
- /* Hardware-Errors: */
- FMERR_NO_XILINX_FILE, /* Xilinx-Errors: */
- FMERR_NO_XILINX_RESPOND,
- FMERR_XILINX_FILE_CORUPTED,
- FMERR_XILINX_WRONG_VERSION,
-
- FMERR_ON_I2C_BUS, /* I2C-Errors */
- FMERR_SAA9051_FAILED,
- FMERR_SAA9065_FAILED,
- FMERR_TDA4680_FAILED,
-
- FMERR_FM_NOT_FOUND, /* FrameMachine not found */
- FMERR_PRISM_NOT_ATTACHED, /* Prism is not attached */
- FMERR_NEED_DUAL, /* Need Dual-Monitor for requested mode */
-
- /* Preferences-Errors: */
- FMERR_PREF_SIZE, /* Your PrefSize is not up-to-date */
- FMERR_NO_PREF_FILE,
- FMERR_NVRAM_CORRUPTED,
-
- /* General Errors: */
- FMERR_IN_PARAMETER, /* Check your parameters */
- FMERR_OUT_OF_MEMORY, /* Not enough memory */
- FMERR_INTERNAL, /* Internal Error. Report this! */
- FMERR_MUST_PREPARE_FIRST,
- FMERR_CANT_OPEN_READ,
- FMERR_CANT_OPEN_WRITE,
- FMERR_READ,
- FMERR_WRITE,
-
- /* ReadLine: */
- FMERR_REQUESTED_SIZE_TO_BIG, /* Your size is larger than image-size */
- FMERR_LACE_NOT_POSSIBLE, /* When DisplaySize < PDP_720, lace is not possible */
-
- /* WriteLine: */
- FMERR_PICTURE_TOO_LARGE,
- FMERR_PICTURE_TOO_SMALL,
-
- /* Preview: */
- FMERR_BMAP_TO_SMALL,
- FMERR_NO_SCREEN,
- FMERR_NO_WINDOW,
-
- /* LoadFile(): */
- FMERR_BAD_CMAP,
- FMERR_BAD_ILBM_FILE,
- FMERR_BAD_RGB8_FILE,
- FMERR_BAD_YUVN_FILE,
- FMERR_UNKNOWN_IFF_TYPE,
- FMERR_UNKNOWN_COMPRESSION,
- FMERR_FROM_IFFPARSE_LIB,
-
- /* Save EDAN: */
- FMERR_TOO_MANY_FRAMES,
-
- /* Load EDAN: */
- FMERR_NOT_EDAN_FORMAT,
- FMERR_OLD_EDAN_FORMAT,
- FMERR_NEW_EDAN_FORMAT,
- FMERR_EDAN_CORRUPTED,
- FMERR_BOE, /* End Of EDAN */
- FMERR_EOE, /* Beginn Of EDAN */
-
-
- NUMBER_OF_FM_ERRORS,
- } ERRORS;
-
-
- extern VOID LockFM(VOID);
- extern WORD TryLockFM(VOID);
- extern VOID UnLockFM(VOID);
- extern UBYTE* WhoLocksFM(VOID);
-
- extern WORD SendI2C(UBYTE *table, UWORD size);
- extern WORD DisplaySize(UWORD mode);
- extern WORD DisplayPos(WORD *x, WORD *y);
- extern WORD DisplayMode(UWORD flags, UWORD keymode);
- extern WORD QuerySize(UWORD mode, UWORD *width, UWORD *height);
- extern WORD SnapShot(VOID);
- extern WORD GetDisplayInfo(struct FMDisplayInfo *info);
- extern WORD SetDisplayInfo(struct FMDisplayInfo *info);
- extern WORD DigiState(BOOL on);
- extern BOOL PrismAttached(VOID);
- extern WORD ClearDisplay(VOID);
-
- extern WORD GetFMPrefs(struct FMPref *pref, UWORD size);
- extern WORD GetSavedPrefs(struct FMPref *pref, UWORD size);
- extern WORD GetDefaultPrefs(struct FMPref *pref, UWORD size);
- extern WORD UsePrefs(struct FMPref *pref, UWORD size);
- extern WORD SavePrefs(struct FMPref *pref, UWORD size);
-
- extern UBYTE *ExplainStatus(WORD status);
- extern VOID DisplayStatus(WORD err);
-
- extern WORD PrepRead(UWORD width, UWORD height, UWORD flags);
- extern WORD EndRead(VOID);
- extern WORD ReadRGB24Line(UBYTE *r, UBYTE *g, UBYTE *b);
- extern WORD ReadBW8Line(UBYTE *bw);
-
- extern WORD PrepWrite(UWORD width, UWORD height, UWORD flags, UBYTE *rlut, UBYTE *glut, UBYTE *blut);
- extern WORD EndWrite(VOID);
- extern WORD WriteRGB24Line(UBYTE *r, UBYTE *g, UBYTE *b);
- extern WORD WriteBW8Line(UBYTE *y);
-
- extern WORD LoadFile(UBYTE *fname, UWORD flags);
-
- extern WORD FastPreviewBmap(struct BitMap *bmap,struct Window *win, UWORD mode);
- extern WORD FastPreview(UWORD mode);
-
- extern WORD PrepSaveEDAN(UBYTE *fname, WORD nf, UWORD flags);
- extern WORD EndSaveEDAN(VOID);
- extern WORD RecordFrame(VOID);
- extern WORD QueryEDAN(struct EDANInfo *i);
-
- extern WORD PrepLoadEDAN(UBYTE *fname, UWORD flags);
- extern WORD EndLoadEDAN(VOID);
- extern WORD GotoFrame(UWORD n);
- extern WORD NextFrame(VOID);
- extern WORD PreviousFrame(VOID);
- extern WORD FirstFrame(VOID);
- extern WORD LastFrame(VOID);
- extern WORD SaveYUVN(UBYTE *name);
- #endif
-
-
-
-